home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / Pascal / Snippets / PNL Libraries / Libraries / SpriteWorld / SpriteWorld files / Headers / Tiling.h < prev   
Text File  |  1996-10-29  |  3KB  |  156 lines

  1. ///--------------------------------------------------------------------------------------
  2. //    Tiling.h
  3. //
  4. //    By: Vern Jensen 10/27/95
  5. ///--------------------------------------------------------------------------------------
  6.  
  7.  
  8. #ifndef __TILING__
  9. #define __TILING__
  10.  
  11.  
  12. #if PRAGMA_ALIGN_SUPPORTED
  13. #pragma options align=mac68k
  14. #endif
  15.  
  16. ///--------------------------------------------------------------------------------------
  17. //    define the TileMapPtr
  18. ///--------------------------------------------------------------------------------------
  19.  
  20. typedef short** TileMapPtr;
  21.  
  22. typedef SW_FUNC void (*TileChangeProcPtr)(
  23.     SpriteWorldPtr spriteWorldP);
  24.  
  25. ///--------------------------------------------------------------------------------------
  26. //    tile function prototypes
  27. ///--------------------------------------------------------------------------------------
  28.  
  29.  
  30. #ifdef __cplusplus
  31. extern "C" {
  32. #endif
  33.  
  34.  
  35. SW_FUNC OSErr SWInitTiling(
  36.     SpriteWorldPtr    spriteWorldP,
  37.     short             tileHeight,
  38.     short            tileWidth,
  39.     short            maxNumTiles);
  40.  
  41. SW_FUNC void SWExitTiling(
  42.     SpriteWorldPtr    spriteWorldP);
  43.  
  44. SW_FUNC OSErr SWCreateTileMap(
  45.     SpriteWorldPtr    spriteWorldP,
  46.     TileMapPtr        *tileMapPtr,
  47.     short             numTileMapRows,
  48.     short            numTileMapCols);
  49.  
  50. SW_FUNC void SWDisposeTileMap(
  51.     SpriteWorldPtr spriteWorldP);
  52.  
  53. SW_FUNC OSErr SWResizeTileMap(
  54.     SpriteWorldPtr    spriteWorldP,
  55.     TileMapPtr        *tileMapPtr,
  56.     short             numNewTileMapRows,
  57.     short            numNewTileMapCols);
  58.  
  59. SW_FUNC OSErr SWLoadTileMap(
  60.     SpriteWorldPtr    spriteWorldP,
  61.     TileMapPtr        *tileMapPtr,
  62.     short             resourceID);
  63.  
  64. SW_FUNC OSErr SWSaveTileMap(
  65.     SpriteWorldPtr    spriteWorldP,
  66.     short             resourceID);
  67.  
  68. SW_FUNC void SWLockTiles(
  69.     SpriteWorldPtr    spriteWorldP);
  70.  
  71. SW_FUNC void SWUnlockTiles(
  72.     SpriteWorldPtr    spriteWorldP);
  73.  
  74. SW_FUNC void SWSetTilingOn(
  75.     SpriteWorldPtr    spriteWorldP,
  76.     Boolean            tilingIsOn);
  77.  
  78. SW_FUNC void SWSetSpriteUnderTiles(
  79.     SpritePtr    srcSpriteP,
  80.     Boolean        isUnder);
  81.  
  82. SW_FUNC OSErr SWSetTileMaskDrawProc(
  83.     SpriteWorldPtr    spriteWorldP,
  84.     DrawProcPtr        drawProc);
  85.  
  86. SW_FUNC OSErr SWLoadTileFromCicnResource(
  87.     SpriteWorldPtr spriteWorldP, 
  88.     short tileID,
  89.     short cicnID, 
  90.     MaskType maskType);
  91.  
  92. SW_FUNC OSErr SWLoadTilesFromPictResource(
  93.     SpriteWorldPtr spriteWorldP, 
  94.     short startTileID,
  95.     short endTileID, 
  96.     short pictResID, 
  97.     short maskResID,
  98.     MaskType maskType,
  99.     short horizBorderWidth,
  100.     short vertBorderHeight);
  101.  
  102. SW_FUNC void SWDisposeTile(
  103.     SpriteWorldPtr    spriteWorldP,
  104.     short tileID);
  105.  
  106. SW_FUNC OSErr SWDrawTilesInBackground(
  107.     SpriteWorldPtr spriteWorldP);
  108.     
  109. SW_FUNC void SWResetTilingCache(
  110.     SpriteWorldPtr spriteWorldP);
  111.  
  112. SW_FUNC void SWDrawTile(
  113.     SpriteWorldPtr spriteWorldP,
  114.     short tileRow,
  115.     short tileCol,
  116.     short tileID);
  117.  
  118. SW_FUNC void SWSetTileChangeProc(
  119.     SpriteWorldPtr spriteWorldP,
  120.     TileChangeProcPtr tileChangeProc);
  121.  
  122. SW_FUNC void SWChangeTileImage(
  123.     SpriteWorldPtr spriteWorldP,
  124.     short tileID,
  125.     short currentFrame);
  126.  
  127. SW_FUNC void SWUpdateTileOnScreen(
  128.     SpriteWorldPtr spriteWorldP,
  129.     short tileID);
  130.  
  131. SW_FUNC void SWResetCurrentTileImages(
  132.     SpriteWorldPtr spriteWorldP);
  133.  
  134. SW_FUNC void SWDrawTilesInRect(
  135.     SpriteWorldPtr spriteWorldP,
  136.     Rect* updateRectP,
  137.     Boolean faster);
  138.  
  139. SW_FUNC void SWDrawTilesAboveSprite(
  140.     SpriteWorldPtr spriteWorldP,
  141.     Rect* updateRectP);
  142.     
  143. SW_FUNC void SWWrapRectToWorkArea(
  144.     SpriteWorldPtr spriteWorldP,
  145.     Rect* dstRectP);
  146.  
  147.  
  148. #ifdef __cplusplus
  149. }
  150. #endif
  151.  
  152. #if PRAGMA_ALIGN_SUPPORTED
  153. #pragma options align=reset
  154. #endif
  155.  
  156. #endif /* __TILING__ */